package com.ai.module.user.domain.req;

import lombok.Data;

/**
 * @author: heJinQin
 * @create: 2024-03-12 00:01
 * @description:
 **/
@Data
public class WXUserInfo {

    //    同 wx.login 获得的用户登录凭证(有效期五分钟)。
    //    开发者需要在开发者服务器后台调用 api，使用 code 换取 openid 和 session_key 等信息

    private String code;
    //调用结果
    private String errMsg;
    //
    private RealUserInfo realUserInfo;
    /**
     * 不包括敏感信息的原始数据字符串，用于计算签名。
     */
    private String rawData;
    /**
     * 使用 sha1( rawData + sessionkey ) 得到字符串，用于校验用户信息，参考文档 signature。
     */
    private String signature;
    /**
     * 包括敏感数据在内的完整用户信息的加密数据，详细见 加密数据解密算法
     */
    private String encryptedData;
    /**
     * 加密算法的初始向量，详细见 加密数据解密算法
     */
    private String iv;


    @Data
    public static class RealUserInfo {

        String nickName;//	用户昵称
        String avatarUrl;//	用户头像，最后一个数值代表正方形头像大小
                         // (有 0、46、64、96、132 数值可选，0 代表 132*132 正方形头像)，
                         // 用户没有头像时该项为空。若用户更换头像，原有头像 URL 将失效。
        String gender;//	用户的性别，值为 1 时是男性，值为 2 时是女性，值为 0 时是未知
        String city;//	用户所在城市
        String province;//	用户所在省份
        String country;//	用户所在国家
        String language;//	用户的语言，简体中文为 zh_CN

    }
}
